package com.ylkj.bus.device.report.mode;

import com.ylkj.dao.BaseDO;
import com.ylkj.dao.TableField;
import com.ylkj.dao.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @Author: wengzx
 * @Date: 2025/4/24
 * @Desc:
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_iotmo_product")
public class ProductDO extends BaseDO {
    /**
     * @fieldName: serialVersionUID
     * @fieldType: long
     * @Description: TODO
     */
    private static final long serialVersionUID = 1L;

    /**
     * @fieldName: productId
     * @fieldType: String
     * @Description: 产品ID
     */
    @TableField(value = "product_id")
    private Integer productId;
    /**
     * @fieldName: productCode
     * @fieldType: String
     * @Description: 产品唯一编码
     */
    @TableField("product_code")
    private String productCode;
    /**
     * @fieldName: productName
     * @fieldType: String
     * @Description: 产品名称
     */
    @TableField("product_name")
    private String productName;
    /**
     * @fieldName: productType
     * @fieldType: String
     * @Description: 产品类型 1-网关产品 0-普通产品
     */
    @TableField("product_type")
    private String productType;
    /**
     * @fieldName: productModel
     * @fieldType: String
     * @Description: 产品型号
     */
    @TableField("product_model")
    private String productModel;
    /**
     * @fieldName: modelId
     * @fieldType: String
     * @Description: 物模型id
     */
    @TableField("model_id")
    private String modelId;
    /**
     * @fieldName: tokenId
     * @fieldType: Integer
     * @Description: 令牌id
     */
    @TableField("token_id")
    private Integer tokenId;
    /**
     * @fieldName: desc
     * @fieldType: String
     * @Description: 产品描述
     */
    @TableField("`desc`")
    private String desc;
    /**
     * @fieldName: appId
     * @fieldType: String
     * @Description: 集成应用
     */
    @TableField("app_id")
    private String appId;
    /**
     * @fieldName: manufactureId
     * @fieldType: String
     * @Description: 厂商ID
     */
    @TableField("manufacture_id")
    private String manufactureId;
    /**
     * @fieldName: manufactureName
     * @fieldType: String
     * @Description: 厂商名称
     */
    @TableField("manufacture_name")
    private String manufactureName;
    /**
     * @fieldName: deviceType
     * @fieldType: String
     * @Description: 设备类型(DEVICE_TYPE 0:Gateway 1:Terminal 2:Sensor)
     */
    @TableField("device_type")
    private String deviceType;
    /**
     * @fieldName: version
     * @fieldType: String
     * @Description: 模型版本
     */
    @TableField("version")
    private String version;
    /**
     * @fieldName: protocolType
     * @fieldType: String
     * @Description: 产品的协议类型：•0-mqtt•1-coap•2-modbus•3-http
     */
    @TableField("protocol_type")
    private String protocolType;
    /**
     * @fieldName: status
     * @fieldType: String
     * @Description: 状态：•0-启用•1-停用
     */
    @TableField("`status`")
    private String status;
    /**
     * @fieldName: profession
     * @fieldType: String
     * @Description: 专业专业 0 输电 1 变电 2 配电 3 客户侧 4 供应链 5 信息机房 6 安全管控 8 基建管控 9 后勤服务 10 能源工业云网  以本地系统的字典为准
     */
    @TableField("profession")
    private String profession;
    /**
     * @fieldName: isDeleted
     * @fieldType: Integer
     * @Description: 是否已删除 0-未删除 1-已删除
     */
    @TableField("is_deleted")
    private Integer isDeleted;
    /**
     * @fieldName: appName
     * @fieldType: String
     * @Description: 集成应用名称
     */
    @TableField("app_name")
    private String appName;
    /**
     * 产品分类id
     */
    @TableField("pro_type")
    private String proType;
}
